package main

import (
	"fmt"
)

type Phone interface {
	hi()
}

type IPhone struct {
}

func (iphone IPhone) hi() {
	fmt.Println("hi, siri.")
}

type Mi struct {
}

func (mi Mi) hi() {
	fmt.Println("嗨，小爱同学。")
}

func main() {
	//Go 语言提供了另外一种数据类型即接口，它把所有的具有共性的方法定义在一起，任何其他类型只要实现了这些方法就是实现了这个接口。

	var phone Phone
	phone = new(IPhone)
	phone.hi()

	phone = new(Mi)
	phone.hi()

}
